*A custom version of the show method of a Plotly Figure.
Removes the Plotly logo from the display
Downloaded plots are higher quality ‘SVG’ format
Allows you to pass ‘filename’ argument to customize the name of the downloaded file*
Exported source
def custom_show( fig:go.Figure, filename:str=None):""" A custom version of the `show` method of a Plotly Figure. - Removes the Plotly logo from the display - Downloaded plots are higher quality 'SVG' format - Allows you to pass 'filename' argument to customize the name of the downloaded file """ config = {'toImageButtonOptions': {'format': 'svg', # one of png, svg, jpeg, webp'scale': 1# Multiply title/legend/axis/canvas sizes by this factor },'displaylogo':False }if filename: config['toImageButtonOptions']['filename']=filename fig.show(config=config)
# Create a scatter plot tracescatter_trace = go.Scatter( x=[1, 2, 3, 4], y=[10, 15, 13, 17], mode='markers+lines', name='Scatter Plot')# Create a bar chart tracebar_trace = go.Bar( x=[1, 2, 3, 4], y=[5, 9, 7, 8], name='Bar Chart')# Combine traces into a data listdata = [scatter_trace, bar_trace]# Define the layout of the figurelayout = go.Layout( title='Example Plotly Figure using graph_objs', xaxis=dict( title='X-axis Label', tickmode='linear' ), yaxis=dict( title='Y-axis Label' ), legend=dict( x=0.1, y=1.1, orientation='h' ))# Create the figure with data and layoutfig = go.Figure(data=data, layout=layout)# Display the figurefig.show(renderer='jupyterlab+notebook')
custom_show(fig)
fig.layout.title ='Click me to Edit!'fig.show( config={'edits':{'titleText':True}})
Custom Doc Renderer
Custom show_doc renderer to be used by nbdev that supports Pydantic Models
from nbdev.showdoc import show_docfrom pydantic import BaseModel,Fieldfrom humble_chuck.models import BaseModel
class MyPydanticModel(BaseModel):"""A Basic Pydnatic model""" name: str= Field(description="A basic string filed called `name`") number: int
Show doc with custom render:
MyPydanticModel
MyPydanticModel (name:str, number:int)
*A Basic Pydnatic model**
Fields:
Name
Type
Required
Default
Description
name
string
True
A basic string filed called name
number
integer
True
class ModelWithModel(BaseModel):""" A Model within a Model """ my_model: MyPydanticModel = Field(description="Description for nested model") other: dict=None
class Model(BaseModel):passclass MoreModels(Model):"""Models within Models within Models""" integer: int my_model: MyPydanticModel my_model_with_model: ModelWithModel
Attributes: class_vars: The names of the class variables defined on the model. private_attributes: Metadata about the private attributes of the model. signature: The synthesized __init__ [Signature][inspect.Signature] of the model.
__pydantic_complete__: Whether model building is completed, or if there are still undefined fields.
__pydantic_core_schema__: The core schema of the model.
__pydantic_custom_init__: Whether the model has a custom `__init__` function.
__pydantic_decorators__: Metadata containing the decorators defined on the model.
This replaces `Model.__validators__` and `Model.__root_validators__` from Pydantic V1.
__pydantic_generic_metadata__: Metadata for generic models; contains data used for a similar purpose to
__args__, __origin__, __parameters__ in typing-module generics. May eventually be replaced by these.
__pydantic_parent_namespace__: Parent namespace of the model, used for automatic rebuilding of models.
__pydantic_post_init__: The name of the post-init method for the model, if defined.
__pydantic_root_model__: Whether the model is a [`RootModel`][pydantic.root_model.RootModel].
__pydantic_serializer__: The `pydantic-core` `SchemaSerializer` used to dump instances of the model.
__pydantic_validator__: The `pydantic-core` `SchemaValidator` used to validate instances of the model.
__pydantic_fields__: A dictionary of field names and their corresponding [`FieldInfo`][pydantic.fields.FieldInfo] objects.
__pydantic_computed_fields__: A dictionary of computed field names and their corresponding [`ComputedFieldInfo`][pydantic.fields.ComputedFieldInfo] objects.
__pydantic_extra__: A dictionary containing extra values, if [`extra`][pydantic.config.ConfigDict.extra]
is set to `'allow'`.
__pydantic_fields_set__: The names of fields explicitly set during instantiation.
__pydantic_private__: Values of private attributes set on the model instance.**